Despite much advancement in search technologies, search in general is still an unsolved problem. Take web search for example. Although relevance of results has steadily improved over the past decade, anecdotal evidence indicates that many queries still go unanswered. A major obstacle to further improvement of search results is understanding user intent from the query. The problem is exacerbated by the fact that the average query length is between two and three words, and average query sessions consist of only a handful of queries.
The brevity of most search queries is a recognized problem, and several methods have been proposed to deal with this scenario. The approaches can be divided into passive and active systems. Passive systems observe user behavior and try to infer more information about the users' intent from their previous actions. In this area numerous personalized search algorithms have been suggested and implemented in practice. These algorithms reweigh each query asked by the users based on their stated preferences or past search histories.
On the other hand, active systems engage in some interaction with the user that better elicit user intent. This interaction can take many different forms. For example, one conventional search engine clusters the results and lets the user navigate the cluster hierarchy; while another lets users re-rank the results, giving more influence to “Shopping” or “Research” results. Other work has explored the space of query suggestion. This involves presenting a list of possible query expansions to help the user further narrow down the results. Unfortunately, none if any of these approaches have produced significant improvements in more accurate or more relevant search results in the context of Web searches or desktop searches.